package com.snake

import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp

// 常量
object Const {
    // 格
    var GRID_SIZE = 0f                                          // 尺寸（需要根据屏幕尺寸计算出来）

    // 主活动
    val MAIN_ACTIVITY_CTRL_PADDING = 10.dp                      // 控件的间隔距离
    val MAIN_ACTIVITY_STATUS_BAR_COLOR = Color(255, 228, 181)   // 状态栏颜色
    const val MAIN_ACTIVITY_TOOLBAR_HEIGHT_MULTIPLE = 4         // 工具栏的高度相当于格尺寸的倍数

    // 游戏区域
    const val GAME_BOARD_GRID_COUNT_H = 20                      // 横向格数
    var GAME_BOARD_GRID_COUNT_V = 0                             // 纵向格数（需要根据屏幕尺寸计算出来）
    val GAME_BOARD_COLOR = Color.Black                          // 背景色

    // 定时器
    const val TIMER_INIT = 500L                                 // 初始间隔值，单位毫秒
    const val TIMER_GROW = 50L                                  // 增长间隔值，单位毫秒，难度每增加1级，间隔值减少此数

    // 难度
    const val DIFF_BASE = 5                                     // 基数。分数每达到此数的整数倍时，难度增加
    const val DIFF_MAX = 10                                     // 最大值。难度达到此数后不再增加

    // 胜利数
    const val WIN_NUMBER = DIFF_BASE * DIFF_MAX                 // 达到此数胜利

    // 蛇
    val SNAKE_COLOR = Color.Green                               // 颜色

    // 果子
    val APPLE_COLOR = Color.Red                                 // 颜色

    // 事件
    const val UM_TIMER = 0                                      // 定时器事件

    // 方向
    const val DIRECTION_LEFT = 37                               // 左
    const val DIRECTION_UP = 38                                 // 上
    const val DIRECTION_RIGHT = 39                              // 右
    const val DIRECTION_DOWN = 40                               // 下
}
